﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.CompilerServices;

using IBApi;

namespace IBRx {
	public class Executions : IBResponse { }

	public class ExecDetails : Executions {
		public int ReqId { get; private set; }
		public Contract Contract { get; private set; }
		public Execution Execution { get; private set; }

		[MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
		public ExecDetails(int reqId, Contract contract, Execution execution) {
			this.ReqId = reqId;
			this.Contract = contract;
			this.Execution = execution;
		}
	}

	public class ExecDetailsEnd : Executions {
		public int ReqId { get; private set; }

		[MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
		public ExecDetailsEnd(int reqId) {
			this.ReqId = reqId;
		}
	}

	public class CommissionReportEvent : Executions {
		public CommissionReport CommissionReport { get; private set; }

		[MethodImplAttribute(MethodImplOptions.AggressiveInlining)]
		public CommissionReportEvent(CommissionReport commissionReport) {
			this.CommissionReport = commissionReport;
		}
	}
}
